Урок 10 – Структурный стиль программирования

Настал момент изучить следующую парадигму (или стиль) программирования, которая является под стилем Императивного – это Структурный стиль.

Что нового привнес собой Структурный стиль программирования? Это возможность ветвления программы. Т.е. теперь у нас появились условия, например, вас мама спрашивает: “Ты будешь с утра макароны или яичницу?”, и в зависимости от вашего ответа, мама приготовит тот или иной завтрак. Тоже самое в программировании – в зависимости от результата в условии, программа выполнит тот или иной участок кода.

Чтобы создать условие, нам понадобятся структурные операторы.

Как видите, их всего 6, но первым мы рассмотрим оператор, который не создает условие – это составной оператор.

Составные операторы представляют собой группу операторов, разделенных точкой с запятой, и заключенных в ключевые слова begin и end. Последний оператор – перед ключевым словом end – не нуждается в точке с запятой, хотя это допустимо (тогда говорят, что за последним написанным вами оператором идет пустой оператор). Составной оператор представляет собой способ группировки операторов, выполняемых последовательно.

Помимо создания третьего раздела в программе, процедуре или функции, составной оператор можно использовать там, где ожидается один оператор (об этом мы с вами поговорим чуть ниже по тексту).

Следующий структурный оператор – это условный оператор. Это как раз тот оператор, который создает условие, и в зависимости от результата условия, будет выполнятся тот или иной участок когда. Схематически он выглядит так:

А синтаксически так:
if Условие
then Оператор;

Давайте теперь опробуем этот условный оператор на практике. Создадим файл conditionalOperator и также назовем программу.

Далее создадим переменную i.

Присвоим i значение 7.

И теперь проверим с помощью условного оператора if если i больше 5, то выводим сообщение, что i больше 5. Сначала пишем ключевое слово if затем логическое выражение, результатом которого должно стать либо true, либо false.

Далее пишем ключевое слово then (можно на этой же строке, но я предпочитаю на следующей через табуляцию) и пишем оператор вывода.

Т.е. если условие после if будет true, то выполняется оператор после слова then, а если false, то then вместе с оператором игнорируется.

Но помните, я выше говорил, что составной оператор begin end может использоваться там где программа ждет один оператор? Здесь как раз такое место.

Условный оператор if также имеет в своем составе необязательное ключевое слово else, которое будет выполняться если условие ложное, т.е. логическое выражение получило false.

Как вы могли заметить, после слова en, которая находится перед else точки с запятой. Это просто такое правило – если есть ключевое слово else, то перед ним не должна быть точка с запятой.

Давайте напоследок в этом уроке изучим еще оператор ввода Read. Ввод данных – это передача информации в оперативную память для последующей их обработки. Основные устройства ввода – это клавиатура и файл. В этом уроке мы изучим ввод данных только с клавиатуры. В языке Pascal ввод данных также является одним из способов задания значений для переменных.

Рассмотрим это на практике. Вместо присвоения i:=7 давайте используем оператор Read и внутри скобок напишем имя переменной, для которой мы хотим задать значение с клавиатуры.

Запускаем программу.

В окне вывода появляется Ввод данных:

Естественно мы должны ввести значение, которое будет integer, иначе выйдет ошибка. Вводим значение 7 и нажимаем на кнопку “Ввести”.

В итоге в первой строке будет показано, что мы ввели, и дальше сработает условие if.

Если вы нажмете кнопку “Завершить” вместо “Ввести”, то программа просто завершится.

Также вместо кнопки “Ввести” вы можете просто нажать Enter. Теперь усложним задачу, и создадим 2 переменные.

Как видите, в операторе Read, если вы хотите задать значения двум переменным, то просто пишите их через запятую. Запускаем программу. В вводе данных пишем первое число, нажимаем Enter, затем второе число и снова нажимаем Enter.

Если вы хотите ввести сразу два значения разом, то можете их разделить пробелом или Tab, а затем нажать Enter.

Также существует оператор Readln, его основное отличие вы можете увидеть, когда будет происходить чтение с файла ( он нем мы поговорим позже). И еще Readln стирает данные введенные с клавиатуры с буфера оперативной памяти сразу после присвоение значения переменной. Если вы используете Read, то данные остаются в оперативной памяти.

В нашем случае, если вместо Read использовать Readln, то никакой разницы вы не увидите, т.е. при вводе с клавиатуры вы можете использовать либо Read, или Readln. Разница будет только в том останутся ли данные в оперативной памяти после присвоения переменной или нет.

Также можно после слова else ставить if создавая тем самым цепочку условных операторов соединенных между собой else if.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *